/* Original Author:  Dominick O'Dierno
 * Date: 2007   odiernod@gmail.com     --Originally intended for use with DOMercury:  http://www.odierno.com/domercury
 * Description: Defines teh functionality of an IItem
 * 
 * --CHANGELOG--
 * 
 * */
using System;
using System.Collections.Generic;
using System.Text;


namespace DOMercury.Interfaces
{
    /// <summary>
    /// The interface every Item must implement
    /// </summary>
    public interface IItem : IComparable 
    {
        /// <summary>
        /// The display name of the item.  Displayed to the user in the suggestions box
        /// </summary>
        string DisplayName
        {
            get;
        }

        /// <summary>
        /// The type of the time, used to determine possible actions for the item.
        /// </summary>
        string ItemType
        {
            get;
        }
        /// <summary>
        /// The description of the item.  Displayed to the user in the Item Pane.  Also used to assign the proper Icon to the IItems
        /// </summary>
        string DisplayDesc
        {
            get;
        }

        /// <summary>
        /// Used to implement the CompareTo interface
        /// </summary>
        /// <param name="obj">Cast this as an IItem and call Compareto on DisplayName</param>
        /// <returns></returns>
        int CompareTo(object obj);
    }
}
